package com.wty.swhn.wty.util;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.widget.Toast;

/**
 * Created by swhn on 2016/8/6. 统一管理类
 */
public class Tools {
	public static ProgressDialog progressDialog;

	public static void showProgressDialog(final Activity activity, String messgae) {
		if (progressDialog == null) {
			// 没有进度条
			progressDialog = new ProgressDialog(activity);
			progressDialog.setMessage(messgae);// setMessage() 设置ProgressDialog
												// 提示信息
			// 进度条显示时，false在屏幕上单击不起作用
			progressDialog.setCanceledOnTouchOutside(true);
			progressDialog.setCancelable(true);
			// dialog监听器
			// progressDialog.setOnCancelListener(new OnCancelListener() {
			//
			// @Override
			// public void onCancel(DialogInterface dialog) {
			// // TODO Auto-generated method stub
			// // iloginBiz.stopThtead();
			// Toast.makeText(activity, "好了啊", Toast.LENGTH_SHORT).show();
			//
			// }
			// });

			progressDialog.show();
		}
	}

	public static void closeProgresDialog() {
		if (progressDialog != null) {
			progressDialog.dismiss();
			progressDialog = null;
			System.gc();
			/*
			 * 你指的是这个吗Gabage Collection？垃圾回收，是.net中对内存管理的一种功能。
			 * 垃圾回收器跟踪并回收托管内存中分配的对象， 定期执行垃圾回收以回收分配给没有有效引用的对象的内存。
			 * 当使用可用内存不能满足内存请求时，GC会自动进行。 在进行垃圾回收时，
			 * 垃圾回收器回首先搜索内存中的托管对象，然后从托管代码中搜索被引用的对象并标记为有效，
			 * 接着释放没有被标记为有效的对象并收回内存，最后整理内存将有效对象挪动到一起。
			 */

		}
	}

	public static void showMsg(Context context, String msg) {
		Toast.makeText(context, msg, Toast.LENGTH_LONG).show();

		// Toast toast=new Toast(context);
		// toast.setView(View.inflate(context, R.layout.login, null));
		// toast.show();

		// 用dealog显示msg
	}

	public static void showShortToast(Context context, String message) {
		Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
	}

	public static void showLongToast(Context context, String message) {
		Toast.makeText(context, message, Toast.LENGTH_LONG).show();
	}

	// 加密
	public native static byte encrypt(byte data);

	// 解密
	public native static byte decrypt(byte data);
}
